package com.wicket.okrcomponent.integration.dto;

import com.wicket.okrcomponent.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc ImplementProblemPositionMsgHandleComReqDto
 * @使用场景
 */
@Data
public class ImplementProblemPositionMsgHandleComReqDto
  extends BaseDto
  implements Serializable {

  /**
   * 安排主体类型编码 OMS_ORG_ORGANIZATION:组织表 OMS_ORG_DEPT:部门表
   */
  @ApiModelProperty("安排主体类型编码")
  private String arrangeSubjectTypeCode;

  /**
   * 安排主体ID
   */
  @ApiModelProperty("安排主体ID")
  private String arrangeSubjectId;

  /**
   * 接收部门ID
   */
  @ApiModelProperty("接收部门ID")
  private String receiveSubjectId;

  /**
   * 问题状态 QUESTIONABILITY:待解决 RESOLVED:已解决 OVERTIME:已超时 SHELVE:暂搁置 REJECTED:已拒绝 SUSPENDED:已挂起 CLOSED:已关闭
   */
  @ApiModelProperty("问题状态")
  private String questionStatus;

  /**
   * 变更后问题状态 TURN_TO_BE_SOLVED:转待解决 TRUN_TO_OVERTIME:转已超时 TRUN_TO_RESOLVED:转已解决 TRUN_TO_REJECTED:转已拒绝 TRUN_TO_SUSPENDED:转已挂起 TRUN_TO_CLOSED:转已关闭 TRUN_TO_SHELVE:转暂搁置
   */
  @NotNull(message = "变更后问题状态不能为空")
  @ApiModelProperty("变更后问题状态")
  private String alterProblemState;

  /**
   * 负责人账号
   */
  @ApiModelProperty("负责人账号")
  private String principalUserId;

  /**
   * 负责人身份人员ID
   */
  @ApiModelProperty("负责人身份人员ID")
  private String principalOriginalRoleMemberId;

  /**
   * 负责人就职记录ID
   */
  @ApiModelProperty("负责人就职记录ID")
  private String principalInductionRecordId;

  /**
   * 主管账号
   */
  @ApiModelProperty("主管账号")
  private String directorUserId;

  /**
   * 主管身份人员ID
   */
  @ApiModelProperty("主管身份人员ID")
  private String directorOriginalRoleMemberId;

  /**
   * 主管就职记录ID
   */
  @ApiModelProperty("主管就职记录ID")
  private String directorInductionRecordId;

}
